package com.zan.ojstudy.zanojcodesandbox.security;

import java.security.Permission;

/**
 * @Author Zan
 * @Create 2024/5/31 9:23
 * @ClassName: MySecurityManager
 * @Description : TODO 请用一句话描述该类的功能
 */
public class MySecurityManager extends SecurityManager {

    @Override
    public void checkPermission(Permission perm) {
//        super.checkPermission(perm); // todo 使用安全管理器默认关闭了所有权限，都会被禁用
    }

    // 检测程序是否可执行文件
    @Override
    public void checkExec(String cmd) {
        throw new SecurityException("checkExec 权限异常: " + cmd);
    }

    // 检测程序是否允许读文件
    @Override
    public void checkRead(String file, Object context) {
        if (file.contains("hutool")) {
            return;
        }
//        throw new SecurityException("checkRead 权限异常: " + file);
    }

    // 检测程序是否允许写文件
    @Override
    public void checkWrite(String file) {
//        throw new SecurityException("checkWrite 权限异常: " + file);
    }

    // 检测程序是否允许删除文件
    @Override
    public void checkDelete(String file) {
//        throw new SecurityException("checkDelete 权限异常: " + file);
    }

    // 检测程序是否允许连接网络
    @Override
    public void checkConnect(String host, int port) {
//        throw new SecurityException("checkConnect 权限异常: " + host + port);
    }
}
